//https://leetcode.cn/problems/min-cost-climbing-stairs/
package codeRandomThoughts.Test746使用最小花费爬楼梯;

public class Solution2 {
    public int minCostClimbingStairs(int[] cost) {
        //dp[i]:爬到第i个台阶需要的最低花费
        int[] dp = new int[1001];
        dp[0] = 0;
        dp[1] = 0;

        for (int i = 2; i <= cost.length; i++) {
            dp[i] = Math.min(dp[i - 1] + cost[i - 1], dp[i - 2] + cost[i - 2]);
        }

        return dp[cost.length];
    }
}
